package com.permission.dao;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.permission.entity.SysAclModule;

public interface SysAclModuleMapper {
    int deleteByPrimaryKey(Integer id);

    int insert(SysAclModule record);

    int insertSelective(SysAclModule record);

    SysAclModule selectByPrimaryKey(Integer id);

    int updateByPrimaryKeySelective(SysAclModule record);

    int updateByPrimaryKey(SysAclModule record);

    //判断同一个权限模块下面是否存在相同的名称
    int countByNameAndParentId(@Param("parentId") Integer parentId, @Param("name") String name, @Param("id") Integer id);

    List<SysAclModule> getChildAclModuleListByLevel(@Param("level") String level);

    //更新权限模块的所有子模块
    void batchUpdateLevel(@Param("sysAclModuleList") List<SysAclModule> sysAclModuleList);

    //获取所有权限模块
    List<SysAclModule> getAllAclModule();

    //根据权限模块Id查询模块子模块数量
    int countByParentId(@Param("aclModuleId") int aclModuleId);

}